Communication relay device, communication relay method and computer program product for communication relay

ABSTRACT

There is provided a relay device which enables improved communication quality and cost-reduction, wherein the device carries out both real-time communications and non-real-time communications. A first communicator carries out packet communications with a first real-time communication device and a first non-real-time communication device, which are connected through an external network. A second communicator accommodates a second real-time communication device included in an internal network. A_third_communicator_accommodates_a second_non-real-time communication device included in the internal network. A connection_controller_controls_a_connection_of the_first_and_second real-time communication devices. A timing checker detects a timing before the connection between the first and second real-time communication_devices,_and_a_timing_after_the disconnection_between them by monitoring operations of the connection controller. A resource controller controls resources for real-time communications and those for non-real-time communications based on the timings detected by the timing checker.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a relay device, a relay method and arelay program, which are used in a communication network, wherein thenetwork carries out both real-time communications and non-real-timecommunications. The present invention may be used for a broadband routercompatible with, for example, both Internet-connection services, andInternet-protocol (IP) telephone services.

2. Description of Related Art

For example, the Internet and a local area network (LAN) have been knownas a communication network which carries out both real-timecommunications and non-real-time communications. In the abovecommunication networks, both the real-time communications and thenon-real-time communications are carried out using a same transmissionband.

The real-time communication is the communication in which allowabledelay time is defined. For example, an IP telephone system, a videotelephone system, a facsimile system, and a television conference systemhave been known as the real-time communications.

The non-real-time communication is the communication in which there isno limit in the delay time. Data communications such as the World WideWeb (WWW), and File-Transfer-Protocol (FTP) Transfer have been known asthe non-real-time communications.

For example, a broadband router has been known as a relay device used ina communication network compatible with real-time communications andnon-real-time communications. FIG. 1 shows a conceptual view showing oneexample of a communication network using a broadband router. Acommunication network 110 in FIG. 1 includes a broadband router 111, LANterminals 112 through 114, and an IP telephone 115. The broadband router111 has communication functions for a wide area network (WAN), a LAN, awireless LAN, and a Voice over IP (Vol P) technology. The broadbandrouter 111 is connected to the Internet 120 through a WAN. Furthermore,the broadband router 111 accommodates terminals 112 and 113 through LANcables, a terminal 114 using wireless communications, and a telephone115 through analog cables. In the example of FIG. 1, the terminals 112through 114 carry out non-real-time communications, and, moreover, theIP telephone 115 carries out real-time communications.

When real-time communications and non-real-time communications arecarried out using a same transmission band, a technique is necessary forpreventing delay time in the real-time communications from exceeding anallowed value. The reason is that, when the delay time in the real-timecommunications exceeds the allowed value, there is a possibility thatoverflow of communication data is generated in a buffer of a relaydevice. The overflow of communication data causes delay in data transferand loss of data. Accordingly, communication quality is deteriorated.

A communication device which can inhibit overflow in real-timecommunications has been disclosed in Japanese Patent ApplicationLaid-Open No. 2004-208124. The communication device according to theabove-described patent document is provided with a function by which adata amount in real-time communications is monitored. The communicationdevice extends a transmission bandwidth allocated for real-timecommunications when the data amount in the real-time communicationsexceeds a predetermined threshold.

However, when the data amount in the real-time communications is rapidlychanged, it is difficult to prevent overflow of communication databecause the communication device according to the above-described patentdocument changes the allocated transmission bandwidth after the dataamount actually exceeds the threshold. Accordingly, it seems that theoverflow is easily generated in the above-described communication deviceimmediately after the real-time communications are started.

In the communication device according to the above-described patentdocument, only a data amount in real-time communications is monitored,and a data amount in non-real-time communications is not monitored.Accordingly, deterioration in communication quality at real-timecommunications cannot be prevented in the above-described communicationdevice, wherein the deterioration is caused by a large amount of data inthe non-real-time communications and by burst-like increase in a dataamount at the non-real-time communications.

In order to reduce the cost of a relay device, it is preferable to use alow-price central processing unit (CPU) for the relay device.Especially, a consumer-use broadband router is strongly required to be alow-price one. Use of a low-price CPU requires reduction in the load oncommunication processing. When real-time communications andnon-real-time communications are carried out using one relay device, theprocessing load on non-real-time communications is large to cause apossibility that communication quality in real-time communications isdeteriorated.

SUMMARY OF THE INVENTION

One object of the present invention is to provide a technique by which,in a relay device, which carries out both real-time communications andnon-real-time communications, the communication quality of the device isimproved and the cost of the device is reduced.

A communication relay device according to the present inventionincludes: a first communicator which carries out packet communicationswith a first real-time communication device and a first non-real-timecommunication device, which are connected through an external network; asecond communicator which accommodates a second real-time communicationdevice included in an internal network; a third communicator whichaccommodates a second non-real-time communication device included in theinternal network; a connection controller which controls connection ofthe first and the second real-time communication devices forcommunications; a timing checker which, by monitoring operations of theconnection controller, detects a timing before connection of the firstand the second real-time communication devices for communications, and atiming after release of the connection for communications; and aresource controller which controls resources for real-timecommunications and those for non-real-time communications, based on thetimings detected by the timing checker.

A communication relay method according to the present inventionincludes: a step at which packet communications are carried out for afirst real-time communication device and a first non-real-timecommunication device, which are connected through an external network; astep at which communications with a second real-time communicationdevice included in an internal network are carried out; a step at whichcommunications with a second non-real-time communication device includedin the internal network are carried out; a step at which connection ofthe first and the second real-time communication devices forcommunications is controlled; a step at which, by monitoring operationsof the connection controller, there are checked a timing beforeconnection of the first and the second real-time communication devicesfor communications, and a timing after release of the connection forcommunications; and a step at which resources for real-timecommunications and those for non-real-time communications arecontrolled, based on the timings detected at the timing checking step.

A computer program product according to the present invention includesprograms by which a computer executes the steps including: a step at.which packet communications are carried out for a first real-timecommunication device and a first non-real-time communication device,which are connected through an external network; a step at whichcommunications with a second real-time communication device included inan internal network are carried out; a step at which communications witha second non-real-time communication device included in the internalnetwork are carried out; a step at which connection of the first and thesecond real-time communication devices for communications is controlled;a step at which, by monitoring operations of the connection controller,there are checked a timing before connection of the first and the secondreal-time communication devices for communications, and a timing afterrelease of the connection for communications; and a step at whichresources for real-time communications and those for non-real-timecommunications are controlled, based on the timings detected at thetiming checking step.

BRIEF DESCRIPTION OF THE DRAWINGS

Other objects and the advantages of the present invention will beexplained, referring to the following attached drawings.

FIG. 1 is a conceptual view showing one example of the structure of acommunication network which carries out both real-time communicationsand non-real-time communications;

FIG. 2A is a conceptual view showing a structure for a communicationnetwork according to a first embodiment;

FIG. 2B is a conceptual view explaining functions of a relay deviceaccording to the first embodiment;

FIG. 3 is a block diagram in which one example of the internal structureof the relay device according to the present invention is schematicallyshown;

FIG. 4 is a view explaining the operation sequence of a communicationnetwork according to the first embodiment;

FIG. 5 is a conceptual view showing the structure of a communicationnetwork according to a second embodiment; and

FIG. 6 is a view explaining the operation sequence of the communicationnetwork according to the second embodiment.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

Hereinafter, embodiments according to the present invention will beexplained with reference to drawings. In the drawings, the size andshape of each component, and the arrangement of the components areschematically shown in such a way that the present invention may beunderstood, and, moreover, numeric conditions which will be hereinafterexplained are merely exemplary.

First Embodiment

FIG. 2A is a conceptual view showing a whole configuration of acommunication network according to the present embodiment. FIG. 2B is aconceptual view explaining functions of a broadband router according tothe present embodiment.

As shown in FIG. 2A, a communication network 200 according to thepresent embodiment includes the Internet 210, a Web server 220, and LANs230 and 240. The LAN 230 includes a broadband router 231, a personalcomputer 232, and a telephone 233. Similarly, the LAN 240 includes abroadband router 241, a personal computer 242, and a telephone 243.

The Web server 220, and the LANs 230 and 240 are connected to oneanother through the Internet 210. In the present invention,communication networks other than the Internet may be used. Thecommunication network used in the present invention is not required toadopt the Internet Protocol as a network layer of theOpen-Systems-Interconnection (OSI) reference model.

The Web server 220 executes a data communication service in the WorldWide Web through the Internet 210.

The broadband router 231 is a relay device according to the presentinvention (refer to FIG. 2B). The broadband router 231 relayscommunications between the Internet 210 and the LAN 230. Morespecifically, the broadband router 231 relays data communicationsbetween the personal computer 232 and the Web server 220, that is,non-real-time communications, and voice communications between thetelephone 233 and the telephone 243, that is, real-time communications.The broadband router 231 is provided with a port 231 a for a WANcommunication, a port 231 b for wireless a LAN communication, and a port231 c which accommodates an analog telephone. The broadband router 231may be provided with a port for wired communications (refer to FIG. 1).The broadband router 231 is connected to the Internet 210 through theport 231 a. A broadband communication technology, for example, an xDSLtechnology such as an asymmetric digital subscriber line (ADSL)technology may be used for communications between the broadband router231 and the Internet 210. When the ADSL technology is used, a subscriberline, that is, a copper wire is connected to the port 231 a. Thebroadband router 231 has the after-described function by which wirelessLAN bands are automatically switched.

Similarly, the broadband router 241 relays communications between theInternet 210 and the LAN 240. More specifically, the broadband router241 relays data communications between the personal computer 242 and theWeb server 220, and voice communications between the telephone 233 andthe telephone 243. The broadband router 241 is provided with a port 241a for WAN communications, a port 241 b for wireless LAN communications,and a port 241 c which accommodates analog telephones. Furthermore, thebroadband router 241 may be provided with a port for wiredcommunications. The broadband router 241 is connected to the Internet210 through the port 241 a. The broadband router 241 has the function bywhich wireless LAN bands are automatically switched in a similar mannerto that of the broadband router 231.

The personal computers 232 and 242 are used as a communication terminalthrough which a data communication service is obtained. In other words,the personal computers 232 and 242 are communication terminals fornon-real-time communications. It has been known that, for example, theVVWW system, the FTP access, and the E-mail system are based onnon-real-time communications. The personal computers 232 and 242 areprovided with a function for wireless LAN communications, or areconnected to a device for wireless LAN communications. The personalcomputer 232 is connected to the port 231 b in the broadband router 231through a wireless LAN. Similarly, the personal computer 242 isconnected to the port 241 b in the broadband router 241 through awireless LAN.

The telephones 233 and 243 are terminals for voice communications. Acommon analog telephone, that is, a telephone adapted to Public SwitchedTelephone Networks (PSTN) may be used as the telephones 233 and 243. Theanalog telephone includes a cordless telephone, a personal handyphonesystem (PHS) terminal with a function as a cordless telephone, and thelike. In addition, a personal computer which is installed withapplication software for voice communications may be used as thetelephones 233 and 243. The telephones 233 and 243 are not required tobe provided with a function compatible with the VoIP. The telephone 233in the present embodiment is connected to the port 231 c in thebroadband router 231 through, for example, analog copper cables.Similarly, the telephone 243 in the present embodiment is connected tothe port 241 c in the broadband router 241 through, for example, analogcopper cables. The telephones 233 and 243 are used for VoIPcommunications between the broadband routers 231 and 241. The VoIPcommunications are real-time communications.

As described above, the personal computers 232 and 242 in the presentembodiment are connected to the broadband routers 231 and 241 through awireless LAN. When the wireless LAN is used, loads on CPUs installed inthe broadband router 231 and 241 are larger than those of a case inwhich LAN cables are used. As described above, the larger loads on theCPUs installed in the broadband routers causes the quality of real-timecommunications (that is, voice communications using the telephones 233and 243) to become deteriorated. The broadband router 241 in the presentembodiment maintains the quality of real-time communications byautomatically switching the transmission bandwidth of the wireless LAN.The details of the switching function of the transmission bandwidthswill be described later.

FIG. 3 is a block diagram in which the internal structure of thebroadband routers 231 and 241 is schematically shown. As shown in FIG.3, the broadband routers in the present embodiment are provided with aWAN communicator 301, a Wireless LAN communicator 302, a voicecommunicator 303, a call controller 304, a VoIP processor 305, aresource controller 306, a timing checker 307, a main controller 308,and a storage 309.

The WAN communicator 301 is connected to the Internet 210 through theport 231 a or 241 a (refer to FIG. 2A). The WAN communicator 301 carriesout communications according to the Internet Protocol and the Voice overInternet Protocol. A global IP address in the Internet 210 is allocatedto the WAN communicator 301.

The wireless LAN communicator 302 is connected to the personal computer232 or 242 through the port 231 b or 241 b. For example, IEEE 802.11 maybe used as a communication protocol. Moreover, for example, a carriersense multiple access with collision avoidance (CSMA/CA) control methodmay be used as a protocol for media access control. The maximumtransmission bandwidth in the wireless LAN communications is, forexample, 54 Mbps.

The voice communicator 303 is connected to the telephone 233 or 243through the port 231 c or 241 c. The voice communicator 303 carries outvoice communications according to the PSTN. Since the voicecommunications adapted for the PSTN is used, a telephone adapted for thePSTN may be used as the telephone 233 or 243.

The call controller 304 carries out call control for VoIPcommunications. For example, the session initiation protocol (SIP), andthe ITU-T Recommendation H.323 have been known as a call controlprotocol for VoIP communications. When the SIP is adopted, call controlis carried out between the call controller 304 and a SIP server (notshown). The SIP server is connected to the Internet 210.

The VoIP processor 305 converts a format of voice data. The VoIPprocessor 305 converts voice data input from the voice communicator 303to a voice packet according to the VoIP, and the converted data is sentto the WAN communicator 301. In addition, the VoIP processor 305converts the voice packet input from the WAN communicator 301 to voicedata according to the PSTN, and the converted packet is sent to thevoice communicator 303.

The resource controller 306 allocates resources to real-timecommunications and to non-real-time communications. The resourcesinclude transmission bandwidths between the Internet 210 and the WANcommunicator 301. Furthermore, the resources include the throughput of aCPU (not shown) installed in the broadband router 231 or 241. Accordingto the present embodiment, most of, or all of the resources areallocated to the non-real-time communications when real-timecommunications are not carried out. On the other hand, when real-timecommunications are carried out, the resource controller 306 allocatestransmission bandwidths enough for securing the communication quality tothe real-time communications, and allocates the remaining transmissionbandwidths to the non-real-time communications. When transmissionbandwidths of real-time communications expands, maximum number of thereal-time communication packets which can be transmitted and receivedvia the transmission bandwidths increases. The resource controller 306allocates the throughput of CPU enough for processing the maximum numberpackets to the real-time communications, and allocates the remainingthroughput to the non-real-time communications. The throughput of CPUenough for processing the maximum number packets of the real-timecommunications can be measured by making the throughput of non-real-timecommunications increase gradually under a condition that the CPU carriesout processes related to the real-time communications.

The timing checker 307 detects a timing according to which the resourcecontroller 306 changes the allocation of the resources. The allocationof the resources is changed immediately before real-time communicationsare started, and immediately after the real-time communications arecompleted. The timing checker 307 detects the above timing by monitoringcall-control messages which the call controller 304 transmits and/orreceives. A concrete example in which the timing is detected will bedescribed later, referring to FIG. 4.

The main controller 308 activates the above-described components 301through 307. The main controller 308 includes the CPU installed in thebroadband router 231 or 241, and an operating system. A part of, or allof the components 301 through 307 may be formed on the main controller308 in the form of software.

The storage 309 includes nonvolatile memories and volatile memories. Thenonvolatile memories are, for example, read only memories (ROMs), orhard disks. The volatile memories are, for example, random accessmemories (RAMs). The nonvolatile memories save an operating system andother programs. The volatile memories are temporary saving memories forexecuting programs, or buffers in which packets for real-timecommunications are temporarily saved.

Whole operations in the communication network 200 will be explained,referring to a sequence diagram shown in FIG. 4. In the followingexplanation, the telephone 233 carries out call processing, and thetelephone 243 carries out called processing.

As described above, all of, or most of the resources are allocated tonon-real-time communications when VoIP communications are not carriedout. Whether the number of resources allocated to real-timecommunications is set zero depends on specifications for call controlcommunications. When the call control communications are non-real-timecommunications, the number of resources allocated to real-timecommunications may be set zero, but the number of the resource may notbe set zero when the call control communications are real-timecommunications. When a transport layer in the OSI reference model has aretransmit control function, that is, when, for example, thetransmission control protocol (TCP) is adopted, the call controlcommunications are non-real-time communications. On the other hand, whenthe transport layer does not have the retransmit control function, thatis, when, for example, the user datagram protocol (UDP) is adopted, thecall control communications are real-time communications.

To start a VoIP communication, a call user off-hooks the telephone 233in the first place (refer to Step S401). Furthermore, the call useroperates the telephone 233 to dial the telephone number of a calledtelephone 243 (refer to Step S402). The dialed telephone number is sentto the call controller 304 (refer to FIG. 3) in the broadband router231.

When the call controller 304 in the broadband router 231 receives thecalled-side telephone number, the call controller 304 makes an INVITEmessage, and sends the message to the WAN communicator 301. The INVITEmessage is a message requesting call connection defined in the SIP. TheWAN communicator 301 stores the INVITE message in an IP packet, andtransmits the packet to the Internet 210 (refer to Step S403). The aboveIP packet reaches the SIP server through a not-shown router and thelike. The SIP server extracts the INVITE message from the IP packet, andexecutes processing such as address resolution. According to the aboveprocessing, the SIP server specifies an IP address corresponding to thecalled side telephone number of the INVITE message, that is, an IPaddress allocated to the broadband router 241. Thereafter, the SIPserver stores the INVITE message in an IP packet which is transmitted tothe specified IP address.

As described above, the timing checker 307 (refer to FIG. 3) monitorsthe call control message which the call controller 304 transmits andreceives. When the timing checker 307 detects that the call controller304 has transmitted the INVITE message, it is notified to the resourcecontroller 306 that VoIP communications will be started. When theresource controller 306 receives the above notification, the allocationof the resources is changed (refer to Step S404). As described above,resources enough for securing communication quality are allocated toreal-time communications, and the remaining resources are allocated tonon-real-time communications when the VoIP communications are started.For example, the resource controller 306 changes the transmission bandallocated to non-real-time communications from the maximum value, thatis, 54 Mbps to 6 Mbps. The remaining transmission band is allocated toreal-time communications. Similarly, allocation of the drivingperformance of the CPU is changed according to the transmission band.

Though the present embodiment is an example in which the allocation ofthe resources is changed after the INVITE message is transmitted, theallocation may be changed before the INVITE message is transmitted. Forexample, immediately after the INVITE message is generated, theallocation may be changed.

The broadband router 241 receives the INVITE message from the SIPserver. The WAN communicator 301 in the broadband router 241 extractsthe INVITE message from a received IP packet, and the extracted messageis sent to the call controller 304 (refer to FIG. 3). The timing checker307 detects that the call controller 304 has received the INVITEmessage, and provides the resource controller 306 with notification thatVoIP communications will be started. When the resource controller 306receives the above notification, the allocation of the resources ischanged (refer to Step S405). The resource controller 306 in thebroadband router 241 allocates resources enough for securing thecommunication quality to real-time communications in a similar manner tothat of the broadband router 231.

Subsequently, the call controller 304 in the broadband router 241 sendsa “100 Trying message” to the WAN communicator 301. The “100 Tryingmessage” is a temporary message by which it is notified that requestedprocessing of call connection is being executed. The “100 Tryingmessage” is stored in an IP packet at the WAN communicator 301, and thepacket is transmitted to the broadband router 231 through the Internet210 (refer to Step S406).

The call controller 304 in the broadband router 241 transmits a ringsignal to the telephone 243 (refer to Step S408). When the ring signalis received, the telephone 243 produces a ringing tone. Furthermore, thecall controller 304 in the broadband router 241 sends a “180 Ringingmessage” to the WAN communicator 301. The “180 Ringing message” is amessage by which it is notified that the telephone 243 is ringing. The“180 Ringing message” is stored in an IP packet at the WAN communicator301, and the packet is transmitted to the broadband router 231 throughthe Internet 210 (refer to Step S409).

When a called user off-hooks the telephone 243, an off-hook signal istransmitted from the telephone 243 to the broadband router 241 (StepS410). When the call controller 304 in the broadband router 241 receivesthe off-hook signal, a “200 OK message” is sent to the WAN communicator301. The “200 OK message” is a message by which it is notified thatprocessing corresponding to the INVITE message (that is, the request forcall connection) has been completed. The “200 OK message” is stored inan IP packet at the WAN communicator 301, and the packet is transmittedto the broadband router 231 through the Internet 210 (refer to StepS411).

The broadband router 231 reverses the polarity of a direct-currentvoltage applied to cables which connect the voice communicator 303 andthe telephone 233 (Step S412). By the above reversing, the callconnection processing of the telephone 233 is completed. Furthermore,the broadband router 231 sends an “ACK message” to the WAN communicator301. The “ACK message” is a response signal by which it is notified thatthe “200 OK message” has been received. The ACK message is stored in anIP packet at the WAN communicator 301, and the packet is transmitted tothe broadband router 241 through the Internet 210 (refer to Step S413).

According to the above-described processing, call connection isestablished between the telephones 233 and 243 to enable the telephonesto start conversation. As described above, the broadband routers 231 and241 according to the present embodiment allocate resources enough forsecuring communication quality to real-time communications, and theremaining resources to non-real-time communications before VoIPcommunications are started. Accordingly, even when one, or both of, thepersonal computers 232 and 242 carry out non-real-time communications,overflow is hardly generated in a buffer (not shown) of the broadbandrouter, that is, there is less possibility that a packet is lost in theVoIP communications. As a result, the broadband routers 231 and 241according to the present embodiment may realize sufficiently highquality of the VoIP communications.

To release the call connection, the telephone 233 or 243 is on-hooked.FIG. 4 shows an example in which the telephone 233 is on-hooked. Whenthe telephone 233 is on-hooked (not shown), the call controller 304 inthe broadband router 231 sends a Bye message to the WAN communicator301. The Bye message is a message by which call release is requested.The Bye message is stored in an IF packet at the WAN communicator 301,and the packet is transmitted to the broadband router 241 through theInternet 210 (refer to Step S414).

The Bye message received at the broadband router 241 is sent to the callcontroller 304 through the WAN communicator 301. When the timing checker307 in the broadband router 241 detects that the call controller 304 hasreceived the Bye message, it is notified to the resource controller 306that VoIP communications have been completed. When the resourcecontroller 306 receives the above notification, allocation of theresources is returned to a state before the call connection isestablished (refer to Step S415). For example, the resource controller306 returns the transmission band allocated to non-real-timecommunications from 6 Mbps to 54 Mbps.

When the call controller 304 in the broadband router 241 receives theBye message, the router 241 carries out usual call-release processing,and sends the “200 OK message” to the WAN communicator 301. The 200 OKmessage is a message by which it is notified that the processingcorresponding to the Bye message has been completed. The “200 OKmessage” is stored in an IP packet at the WAN communicator 301, and thepacket is transmitted to the broadband router 231 through the Internet210 (refer to Step S416).

The “200 OK message” received by the broadband router 231 is sent to thecall controller 304 through the WAN communicator 301. When the timingchecker 307 in the broadband router 231 detects that the “200 OKmessage” has been received by the call controller 304, it is notified tothe resource controller 306 that VoIP communications have beencompleted. When the resource controller 306 receives the abovenotification, allocation of the resources is returned to a state beforethe call connection is established (refer to Step S417). For example,the resource controller 306 returns the transmission band allocated tonon-real-time communications from 6 Mbps to 54 Mbps. According to theabove processing, the call release processing is completed.

Steps S404 and S405 may be carried out at any time after off-hookprocessing and before call connection. In addition, Steps S415 and S417may be carried out at any time after a call is released. A timing atwhich the above Steps S404, S405, S415, and S417 are executed may bejudged based on a transmitting timing or a receiving timing of a messagewhich is generated in the broadband router. In addition, a timing atwhich the above steps are executed may be judged based on timing atwhich a signal is transmitted to the telephones 233 and 243, or a timingat which a signal is received from the telephones 233 and 243.

More specifically, Step S416 may be executed before Step S415 is done.In addition, processing at Step S417 may be executed before Step S414 isdone. Step S404 may be executed at a timing shown in FIG. 4 with asymbol SP1. Similarly, Step S405 may be executed at a timing shown inFIG. 4 with a symbol SP2. When Steps S403 and S404 are executed attiming, for example, SP1 and SP2 after Step S410, the resources are notchanged unless the called user off-hooks the telephone 243. Accordingly,there may be avoided an inconvenience that the resources are changedthough call connection is not actually established.

As described above, the broadband routers 231 and 241 according to thepresent embodiment change the allocation of the resources before VoIPcommunications are started. Accordingly, when the communication dataamount increases, the broadband router 231 and 241 according to thepresent embodiment may surely secure more sufficient quality for VoIPcommunications in comparison with the quality of a device in whichresources are changed.

The broadband router 231 and 241 according to the present embodimentallocate resources enough for securing communication quality toreal-time communications, and the remaining resources to non-real-timecommunications. Accordingly, the broadband routers 231 and 241 maysecure communication quality even when the amount of communication datais rapidly changed.

In addition, reduction in the use efficiency of the resources may besuppressed to the minimum by changing the allocation of the resourcesafter the called-side telephone 243 is off-hooked.

Second Embodiment

FIG. 5 is a conceptual view showing a whole configuration of anothercommunication network according to the present embodiment.

In FIG. 5, devices similar to those previously described in FIG. 2 aredenoted by the same reference numbers as those in FIG. 2. Acommunication network 500 in the present embodiment is different fromthat according to the above-described first embodiment in a point thatthe network 500 is provided with a private branch exchange (PBX) 501 asshown in FIG. 5.

The PBX 501 is connected to an analog-telephone accommodating port 231 cin a broadband router 231. In addition, the PBX 501 may accommodate oneor a plurality of telephones. Only one telephone 233 is shown in FIG. 5for simplification of explanation. Since there is provided the PBX 501in the communication network, the telephone 233 may be used as anextension telephone. That is, the telephone 233 may call other extensiontelephones, and makes outside call.

All operations in the communication network 500 will be explained,referring to a sequence diagram shown in FIG. 6. In the followingexplanation, a telephone 243 carries out call processing, and the PBX501 and the telephone 233 carry out called processing.

When VoIP communications are not carried out, all of, or most of theresources are allocated to non-real-time communications in a similarmanner to that of the first embodiment. Whether the number of resourcesallocated to real-time communications is set to zero depends onspecifications for call control communications.

To start a VoIP communication, a call user off-hooks the telephone 243in the first place (refer to Step S601). Furthermore, the call useroperates the telephone 243 to dial the telephone number of the calledtelephone 233 (refer to Step S602). The dialed telephone number is sentto a call controller 304 in the broadband router 241 (refer to FIG. 3).

When the call controller 304 in the broadband router 241 receives thecalled-side telephone number, an INVITE message is sent to a WANcommunicator 301. The INVITE message is stored in an IP packet at theWAN communicator 301, and the packet is transmitted to the Internet 210(refer to Step S603). The above IP packet is received by a broadbandrouter 231 through a SIP server and a relay device in a similar mannerto that of the first embodiment.

The WAN communicator 301 in the broadband router 231 extracts the INVITEmessage from the received IP packet, and sends the extracted message tothe call controller 304. Subsequently, the call controller 304 sends aninitial address message (IAM) to the PBX 501 (refer to Step S604). TheIAM is an address signal which notifies the called-side telephonenumber. Furthermore, the call controller 304 in the broadband router 231sends “100 Trying message” to the WAN communicator 301. The “100 Tryingmessage” is stored in an IP packet at the WAN communicator 301, and thepacket is transmitted to the broadband router 241 through the Internet210 (refer to Step S605).

The PBX 501 transmits an address complete message (ACM) signal to thebroadband router 231 when the PBX 501 completes receiving the IAM signal(refer to Step S606). The ACM is a signal notifying that receiving ofthe IAM signal has been completed. Furthermore, the PBX 501 transmits aring signal to the telephone 233 (refer to Step 5607). When the ringsignal is received, the telephone 233 produces a ringing tone.

When the call controller 304 in the broadband router 231 receives theACM signal, a “183 Session Progress message” is sent to the WANcommunicator 301. The “183 Session Progress message” is a message whichnotifies that the called-side telephone 233 is in a state of beingcalled. The “183 Session Progress message” is stored in an IP packet atthe WAN communicator 301, and the packet is transmitted to the broadbandrouter 241 through the Internet 210 (refer to Step S608).

A timing checker 307 in the broadband router 231 detects that the callcontroller 304 has transmitted the “183 Session Progress message,” andnotifies a resource controller 306 that VoIP communications will bestarted. When the resource controller 306 receives the abovenotification, the allocation of the resources is changed (refer to StepS609). The resource controller 306 in the broadband router 231 allocatesresources enough for securing communication quality to real-timecommunications in a similar manner to that of the first embodiment.

The WAN communicator 301 in the broadband router 241 extracts the “183Session Progress message” from a received IP packet, and the message issent to the call controller 304. The timing checker 307 in the broadbandrouter 241 detects that the call controller 304 has received the “183Session Progress message,” and notifies a resource controller 306 thatVoIP communications will be started. When the resource controller 306receives the above notification, the allocation of the resources ischanged (refer to Step S610). The resource controller 306 in thebroadband router 241 allocates resources enough for securingcommunication quality to real-time communications.

The PBX 501 outputs a ring back tone (RBT) signal (refer to Step S611).The RBT signal is a tone signal which notifies the call user that thecalled-side telephone 233 is being called. The RBT signal is sent to thecalling-side telephone 243 through the broadband router 231, theInternet 210, and the broadband router 241. Since, according to thepresent embodiment, the RBT signal is transmitted after the resourcesare allocated, the sufficiently high quality of a signal tone can berealized.

When the called user off-hooks the telephone 233, an off-hook signal istransmitted from the telephone 233 to the PBX 501 (Step S612). When thePBX 501 receives the off-hook signal, an answer message (ANM) signal istransmitted to the broadband router 231 (refer to Step S613). The ANMsignal is a signal which notifies that off-hook processing is executed.

When the call controller 304 in the broadband router 231 receives theANM signal, a “200 OK message” is transmitted to the WAN communicator301. The “200 OK message” is stored in an IP packet at the WANcommunicator 301, and the packet is transmitted to the broadband router241 through the Internet 210 (refer to Step S614).

A broadband router 241 reverses the polarity of a direct-current voltageapplied to cables which connect a voice communicator 303 and thetelephone 243 (Step S615). By the above reversing, the call connectionprocessing of the telephone 243 is completed. Furthermore, the broadbandrouter 241 sends an ACK message to the WAN communicator 301. The ACKmessage is stored in an IP packet in the WAN communicator 301, and thepacket is transmitted to the broadband router 231 through the Internet210 (refer to Step S616).

According to the above-described processing, call connection isestablished between the telephones 233 and 243 to enable the telephonesto start conversation. In a similar manner to that of the firstembodiment, the broadband routers 231 and 241 according to the presentembodiment allocate resources enough for securing communication qualityto real-time communications, and the remaining resources tonon-real-time communications before VoIP communications are started.Accordingly, even when one, or both of the personal computers 232 and242 carry out non-real-time communications, overflow is hardly generatedin the broadband routers and in a buffer of other relay devices.Accordingly, the sufficiently high quality of VoIP communications isrealized.

To disconnect the call connection, the telephone 233 or 243 ison-hooked. FIG. 6 shows an example in which the telephone 233 ison-hooked. The telephone 233 sends an on-hook signal to the PBX 501(refer to Step S617). The PBX 501 sends a release message (REL) signalto the call controller 304 in the broadband router 231 (refer to StepS618). The REL signal is a signal requesting call release. When the callcontroller 304 in the broadband router 231 receives the REL signal, aBye message is sent to the WAN communicator 301. The Bye message isstored in an IP packet at the WAN communicator 301, and the packet istransmitted to the broadband router 241 through the Internet 210 (referto Step S619). In addition, the broadband router 231 transmits a releasecomplete message (RLC) signal to the PBX 501 (refer to Step S620). TheRLC signal is a signal notifying that the call release has beencompleted.

The Bye message received by the broadband router 241 is sent to the callcontroller 304 through the WAN communicator 301. When the timing checker307 in the broadband router 241 detects that the call controller 304 hasreceived the Bye message, it is notified to the resource controller 306that the VoIP communications have been completed. When the resourcecontroller 306 receives the above notification, allocation of theresources is returned to a state before the call connection isestablished (refer to Step S621). For example, the resource controller306 returns the transmission band allocated to non-real-timecommunications from 6 Mbps to 54 Mbps.

Thereafter, when the call user on-hooks the telephone 243, an on-hooksignal is sent to the broadband router 241 (refer to Step S622).However, the call is released even when the call user does not on-hook.

When the call controller 304 in the broadband router 241 receives theBye message, usual call-release processing is carried out, and,moreover, the “200 OK message” is sent to the WAN communicator 301. The“200 OK message” is stored in an IF packet at the WAN communicator 301,and the packet is transmitted to the broadband router 231 through theInternet 210 (refer to Step S623).

The “200 OK message” received at the broadband router 231 is sent to thecall controller 304 through the WAN communicator 301. When the timingchecker 307 in the broadband router 231 detects that the call controller304 has received the “200 OK message,” it is notified to the resourcecontroller 306 that VoIP communications have been completed. When theresource controller 306 receives the above notification, allocation ofthe resources is returned to a state before the call connection isestablished (refer to Step S624). For example, the resource controller306 returns the transmission band allocated to non-real-timecommunications from 6 Mbps to 54 Mbps. Thereby, call release processingis completed.

As described above, the broadband routers 231 and 241 according to thepresent embodiment change the allocation of the resources before the RBTsignal is transmitted. Accordingly, the broadband routers 231 and 241 inthe present embodiment can secure voice signals and the RBT signal ofsufficient quality.

The broadband routers 231 and 241 according to the present embodimentallocate resources enough for securing communication quality toreal-time communications, and the remaining resources to non-real-timecommunications. Accordingly, the broadband routers 231 and 241 maysecure the communication quality even when the communication data amountis rapidly changed.

In the first and second embodiments, the broadband routers 231 and 241and the personal computers 232 and 242 are not necessarily connectedthrough the wireless LAN.

In the first and second embodiments, connection between the broadbandrouters 231, 241 and the telephones 233, 243 may be realized through thewireless LAN.

The present invention may be applied to real-time communications otherthan the VoIP communications, for example, to a video telephone system,a facsimile system, and a television conference system, and the like.

Though the examples in which the present invention is applied to both ofthe broadband routers 231 and 241 have been explained in the first andsecond embodiments, communication connection between a broadband router,to which the present invention is applied, and a broadband router, towhich the present invention is not applied may be realized.

The present invention may be applied to a network using a protocol otherthan the IP protocol, for example, to a network using the Internet workPacket Exchange (IPX) protocol.

The present invention may be structured as software, and, also, ashardware. When the present invention is structured as software, thenumber of CPUs is not necessarily one.

1. A communication relay device, comprising: A first communicator whichcarries out packet communications with a first real-time communicationdevice and a first non-real-time communication device, which areconnected through an external network; a second communicator whichaccommodates a second real-time communication device included in aninternal network; a third communicator which accommodates a secondnon-real-time communication device included in the internal network; aconnection controller which controls communication connection of thefirst and second real-time communication devices; a timing checker whichdetects a timing before communication connection and a timing aftercommunication disconnection of the first and second real-timecommunication devices, by monitoring operations of the connectioncontroller; a resource controller which allocates the most of or all ofthe resources to the non-real-time communications when real-timecommunications are not carried out, and allocates transmissionbandwidths enough for securing the communication quality to thereal-time communications and allocates the remaining transmissionbandwidths to the non-real-time communications when real-timecommunications are carried out, based on the timings detected by thetiming checker; and a main hardware controller which includes the CPUand an operating system, wherein said first communicator, said secondcommunicator, said third communicator, said connection controller, saidtiming checker, said resource controller are formed on said mainhardware controller in the form of software.
 2. The communication relaydevice according to claim 1, wherein the communications between thefirst and second real-time communication devices are voicecommunications.
 3. The communication relay device according to claim 2,wherein the connection controller is a call controller by which callconnection and call disconnection for the first and second real-timecommunication devices are controlled.
 4. The communication relay deviceaccording to claim 3, wherein the timing checker detects the timingsusing information which are transmitted or received by the callcontroller.
 5. The communication relay device according to claim 3,wherein voice communications between the first real-time communicationdevice and the first communicator are Voice over Internet Protocolcommunications.
 6. The communication relay device according to claim 5,wherein the timing checker detects a timing at which the call controllertransmits or receives a predetermined message for the first real-timecommunication device.
 7. The communication relay device according toclaim 3, wherein voice communications between the second communicatorand the second real-time communication device are communications adaptedto Public Switched Telephone Networks.
 8. The communication relay deviceaccording to claim 7, wherein the timing checker detects a timing atwhich the call controller transmits or receives a predetermined signalfor the second real-time communication device.
 9. The communicationrelay device according to claim 1, wherein the resource controllercontrols a ratio between a transmission bandwidth allocated to real-timecommunications and that allocated to non-real-time communications. 10.The communication relay device according to claim 1, wherein theresource controller controls a ratio between a throughput, at which aprocessor executes real-time communications, and that at which theprocessor executes non-real-time communications.
 11. The communicationrelay device according to claim 1, wherein non-real-time communicationsare carried out through the wireless LAN.
 12. A method for relayingcommunications, comprising steps of: relaying a communication with afirst non-real-time communication device connected to an externalnetwork and a second non-real-time communication device connected to aninternal network; carrying out a control for communication connectingand disconnecting between a first real-time communication deviceconnected to the external network and a second real-time communicationdevice contained to the internal network; relaying the communicationwith the first and the second real-time communication device; checking atiming before the connection of the first and the second real-timecommunication devices is established, and a timing after the connectionis released; and controlling resources for real-time communications andthose for non-real-time communications, based on the timings detected atthe timing checking step, wherein at the step of controlling resources,the most of or all of the resources are allocated to the non-real-timecommunications when real-time communications are not carried out, andtransmission bandwidths enough for securing the communication qualityare allocated to the real-time communications and the remainingtransmission bandwidths are allocated to the non-real-timecommunications when real-time communications are carried out.
 13. Thecommunication relay method according to claim 12, wherein communicationsbetween the first and second real-time communication devices are voicecommunications.
 14. The communication relay method according to claim13, wherein the connection controlling step is a step for controllingestablishment and release of a call connection between the first and thesecond real-time communication devices.
 15. The communication relaymethod according to claim 14, wherein the timing checking step is todetect the timings using information which are transmitted or receivedat the call controlling step.
 16. The communication relay methodaccording to claim 14, wherein voice communications for the firstreal-time communication device are Voice over Internet Protocolcommunications.
 17. The communication relay method according to claim16, wherein the timing checking step is to detect a timing at which apredetermined message for the first real-time communication device istransmitted or received at the call controlling step.
 18. Thecommunication relay method according to claim 14, wherein voicecommunications for the second real-time communication device iscommunications adapted to Public Switched Telephone Networks.
 19. Thecommunication relay method according to claim 18, wherein the timingchecking step is to detect a timing at which the call controllertransmits or receives a predetermined signal for the second real-timecommunication device.
 20. The communication relay method according toclaim 12, wherein the resource controlling step is to control a ratiobetween a transmission bandwidth allocated to real-time communicationsand that allocated to non-real-time communications.
 21. Thecommunication relay method according to claim 12, wherein the resourcecontrolling step is to control a ratio between a throughput, at which aprocessor executes real-time communications, and that at which theprocessor executes non-real-time communications.
 22. The communicationrelay method according to claim 12, wherein non-real-time communicationsare carried out through the wireless LAN.
 23. A computer programproduct, saved on a non-transitory storage medium connected to acomputer, wherein said computer program product includes programs bywhich the computer executes the steps of: relaying a communication witha first non-real-time communication device connected to an externalnetwork and a second non-real-time communication device connected to aninternal network; carrying out a control for communication connectingand disconnecting between a first real-time communication deviceconnected to the external network and a second real-time communicationdevice contained to the internal network; relaying the communicationwith the first and the second real-time communication device; checking atiming before the connection of the first and the second real-timecommunication devices is established, and a timing after the connectionis released; and controlling resources for real-time communications andthose for non-real-time communications, based on the timings detected atthe timing checking step, wherein at the step of controlling resources,the most of or all of the resources are allocated to the non-real-timecommunications when real-time communications are not carried out, andtransmission bandwidths enough for securing the communication qualityare allocated to the real-time communications and the remainingtransmission bandwidths are allocated to the non-real-timecommunications when real-time communications are carried out.
 24. Thecomputer program product including programs according to claim 23,wherein communications between the first and second real-timecommunication devices are voice communications.
 25. The computer programproduct including programs according to claim 24, wherein the connectioncontrolling step is a step for controlling establishment and release ofa call connection between the first and the second real-timecommunication devices.
 26. The computer program product includingprograms according to claim 25, wherein the timing checking step is todetect the timings using information which are transmitted or receivedat the call controlling step.
 27. The computer program product includingprograms according to claim 25, wherein voice communications for thefirst real-time communication device are Voice over Internet Protocolcommunications.
 28. The computer program product including programsaccording to claim 27, wherein the timing checking step is to detect atiming at which a predetermined message for the first real-timecommunication device is transmitted or received at the call controllingstep.
 29. The computer program product including programs according toclaim 25, wherein voice communications for the second real-timecommunication device is communications adapted to Public SwitchedTelephone Networks.
 30. The computer program product including programsaccording to claim 29, wherein the timing checking step is to detect atiming at which the call controller transmits or receives apredetermined signal for the second real-time communication device. 31.The computer program product including programs according to claim 23,wherein the resource controlling step is to control a ratio between atransmission bandwidth allocated to real-time communications and thatallocated to non-real-time communications.
 32. The computer programproduct including programs according to claim 23, wherein the resourcecontrolling step is to control a ratio between a throughput, at which aprocessor executes real-time communications, and that at which theprocessor executes non-real-time communications.
 33. The computerprogram product including programs according to claim 23, whereinnon-real-time communications are carried out through the wireless LAN.